---
sidebar_position: 2
---

# Требования к отчету

Отчет по лабораторной работе должен состоять из 5 разделов, отражающих основные этапы разработки программы:

- постановка задачи;
- разработка алгоритма;
- кодирование (соответствующий раздел отчета называется "Текст программы");
- тестирование (соответствующий раздел отчета называется "Анализ результатов");
- использованные источники.

## Постановка задачи

В разделе "Постановка задачи" должен быть приведен текст задания и согласованные с преподавателем (заказчиком) уточнения, если они требуются (например, как выводить время `00:03 - 0 часов 3 минуты ночи` или `12 часов 3 минуты ночи`, или существует ли время `24:00`).

## Разработка алгоритма

Раздел "Разработка алгоритма" должен содержать следующую информацию:

- краткое описание (обоснование) алгоритма;
- описание входных, выходных и вспомогательных данных с указанием их идентификаторов и типов;
- схему алгоритма, состоящую из двух частей: общей (укрупненной) схемы и уточненной схемы следующих блоков:
  1. Ввод и контроль исходных данных;
  2. Обработка часов;
  3. Обработка минут;
  4. Обработка времени суток.

:::danger
Обратите внимание, что схема алгоритма должна быть оформлена по ГОСТ 19.701-90 (ИСО 5807-85) "Схемы алгоритмов, программ, данных и подсистем".
:::

### Пояснения к оформлению схемы алгоритмов

Для отображения алгоритма достаточными будут следующие графические обозначения:

![gost-algorithm](images/gost-algorithm.jpg)

:::caution
Обратите внимание на то, как по ГОСТ 19.701-90 (ИСО 5807-85) отображается стрелочки между блоками и то, в каких случаях на концах необходимо отображать треугольник.
:::

:::info
Для подготовки блок-схем рекомендуется использовать программу [yEd](https://www.yworks.com/products/yed).
:::

Для отображения циклов можно воспользоваться блоком "Решение" (изобразить цикл в виде блока с проверкой условия завершения цикла).

На обобщенной схеме блоки "Ввод и контроль исходных данных", "Обработка часов" и т.д. можно отобразить в виде блоков "Предопределенный процесс".

Отображение предопределенного процесса - отдельный самостоятельный рисунок с подписью. Никаких ссылок через "Соединитель" между обобщенной блок-схемой и уточненной блок-схемы в этом случае не требуется.

На каждой уточняющей блок-схеме обязательно должны быть отображения начала и конца алгоритма.

Блоки "Процесс" и "Предопределенный процесс" обязательно должны иметь вход и выход.

:::danger
При неоправданном использовании блоков "Соединитель" отчет отправляется на доработку.

На блок-схеме должны отсутствовать конструкции, которые зависят только от конкретного языка программирования. Вместо этого необходимо использовать словесное описание выполняемого действия ("ввод переменных n и b", "вывод переменных b"). Блок-схема должна читаться без знаний о языке программирования.

При обнаружении проблем с изображением любой из блок-схемой при проверке преподавателем отчет отправляется на доработку.
:::
